The present invention relates to a method for classifying feature data at high speed, in which feature data, for example, color image data are classified into n classes by use of a clustering method, and a feature data processing apparatus embodying the method.
The classification of feature data, for example, color image data input from an ITV camera, a drum scanner, or the like via an A/D converter, into predetermined classes in terms of colors, is a necessary process in a variety of fields of application. If input color image data are projected into a three-dimensional feature space defined by red, green, and blue components, they can often be classified into predetermined classes on the basis of their respective distribution. Known methods for performing such a classification are, for example, a multi-dimensional slice method as shown in FIG. 1A, and a clustering method as shown in FIG. 1B. Note that for the sake of simplicity, FIGS. 1A and 1B show classification states in a two-dimensional space.
Generally, when the multi-dimensional slice method is used, a simple lookup table is prepared for each component of input image data, and colors are classified by referring to this table. Using this method, high-speed processing can be performed. However, since the components of color image data cannot be independently accessed, this classification is influenced by the input condition of image data, and a significant inaccuracy in the classification may occur.
Using the clustering method shown in FIG. 1B, any inaccuracy in the classification can be eliminated, and image data projected in the feature space can be classified. In particular, a method utilizing the K average algorithm is popular, since a better clustering result can be provided. Using the K average algorithm, a distance calculation is performed in order to check n reference density vectors to which density vectors of pixels constituting color image data are closest, in this way classifying the image data. However, when the K average algorithm is used, a large volume of arithmetic operations must be performed, with the result that high-speed processing is not possible.